<?php declare(strict_types=1);


namespace App\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;


/**
 * 发布内容表
 * Class Posts
 *
 * @since 2.0
 *
 * @Entity(table="posts", pool="db2.pool")
 */
class Posts extends Model
{
    /**
     * 
     * @Id()
     * @Column()
     *
     * @var int
     */
    private $id;

    /**
     * 
     *
     * @Column(name="member_id", prop="memberId")
     *
     * @var int
     */
    private $memberId;

    /**
     * 内容
     *
     * @Column()
     *
     * @var string|null
     */
    private $content;

    /**
     * 动态类型 1:文本 2:含图片 3:含视频
     *
     * @Column()
     *
     * @var int
     */
    private $type;

    /**
     * 
     *
     * @Column(name="publish_addr", prop="publishAddr")
     *
     * @var string|null
     */
    private $publishAddr;

    /**
     * 
     *
     * @Column(name="publish_coordinate", prop="publishCoordinate")
     *
     * @var string|null
     */
    private $publishCoordinate;

    /**
     * 
     *
     * @Column(name="publish_ip", prop="publishIp")
     *
     * @var string
     */
    private $publishIp;

    /**
     * 设备 1:android 2:ios  3:web
     *
     * @Column(name="from_device", prop="fromDevice")
     *
     * @var int|null
     */
    private $fromDevice;

    /**
     * 版本
     *
     * @Column(name="from_version", prop="fromVersion")
     *
     * @var string|null
     */
    private $fromVersion;

    /**
     * 0:删除,1:正常, 2：自己删除 3:被举报隐藏 4：仅自己可见,5:待审核(qa情况),6:未通过(qa情况) 7:hotnews 开关
     *
     * @Column()
     *
     * @var int
     */
    private $status;

    /**
     * 0:不置顶,1:置顶
     *
     * @Column(name="is_top", prop="isTop")
     *
     * @var int
     */
    private $isTop;

    /**
     * 
     *
     * @Column(name="created_at", prop="createdAt")
     *
     * @var int
     */
    private $createdAt;

    /**
     * 
     *
     * @Column(name="updated_at", prop="updatedAt")
     *
     * @var int|null
     */
    private $updatedAt;

    /**
     * 是否原创 0:原创 大于0:源动态id
     *
     * @Column()
     *
     * @var int
     */
    private $original;

    /**
     * 
     *
     * @Column()
     *
     * @var string
     */
    private $category;

    /**
     * 是否来自机器人发帖 1:是 0:否
     *
     * @Column(name="is_robot", prop="isRobot")
     *
     * @var int
     */
    private $isRobot;

    /**
     * 图文测评标题，QA的问题
     *
     * @Column()
     *
     * @var string|null
     */
    private $title;

    /**
     * 1:vaffle 2:guidetovaping 3:vapinginsider 4:vaping360,5:vapingdaily,6:thevapingtime
     *
     * @Column()
     *
     * @var int
     */
    private $platform;

    /**
     * 排序
     *
     * @Column()
     *
     * @var int
     */
    private $ordid;

    /**
     * 测评产品名
     *
     * @Column(name="review_product", prop="reviewProduct")
     *
     * @var string|null
     */
    private $reviewProduct;

    /**
     * 测评产品型号
     *
     * @Column(name="review_type", prop="reviewType")
     *
     * @var string|null
     */
    private $reviewType;

    /**
     * 文章分类id
     *
     * @Column(name="category_id", prop="categoryId")
     *
     * @var int
     */
    private $categoryId;

    /**
     * 富文本信息的媒体资源列表
     *
     * @Column(name="aztec_images", prop="aztecImages")
     *
     * @var string|null
     */
    private $aztecImages;

    /**
     * 是否精选 0:非精选 1:精选
     *
     * @Column(name="is_choiceness", prop="isChoiceness")
     *
     * @var int|null
     */
    private $isChoiceness;

    /**
     * 品牌id
     *
     * @Column(name="brand_id", prop="brandId")
     *
     * @var int
     */
    private $brandId;

    /**
     * 话题id
     *
     * @Column(name="topic_id", prop="topicId")
     *
     * @var int|null
     */
    private $topicId;

    /**
     * 1:属于品牌下的公告 0：不属于公告
     *
     * @Column(name="is_notice", prop="isNotice")
     *
     * @var int
     */
    private $isNotice;

    /**
     * 1:是deal 0：不是deal
     *
     * @Column(name="is_deals", prop="isDeals")
     *
     * @var int
     */
    private $isDeals;

    /**
     * 商铺id
     *
     * @Column(name="shop_id", prop="shopId")
     *
     * @var int
     */
    private $shopId;

    /**
     * 店铺评价分
     *
     * @Column(name="shop_score", prop="shopScore")
     *
     * @var int|null
     */
    private $shopScore;

    /**
     * 发贴人是否为商业账户
     *
     * @Column(name="is_business_account", prop="isBusinessAccount")
     *
     * @var int
     */
    private $isBusinessAccount;

    /**
     * 1:需要推送 0:无需推送
     *
     * @Column(name="should_push", prop="shouldPush")
     *
     * @var int|null
     */
    private $shouldPush;

    /**
     * 3位数国家代码,LOCAL代表本地
     *
     * @Column(name="nation_code3", prop="nationCode3")
     *
     * @var string
     */
    private $nationCode3;

    /**
     * 是否全网,1:全网 0：非全网
     *
     * @Column(name="is_whole", prop="isWhole")
     *
     * @var int
     */
    private $isWhole;

    /**
     * 圈子组id
     *
     * @Column(name="group_id", prop="groupId")
     *
     * @var int|null
     */
    private $groupId;


    /**
     * @param int $id
     *
     * @return void
     */
    public function setId(int $id): void
    {
        $this->id = $id;
    }

    /**
     * @param int $memberId
     *
     * @return void
     */
    public function setMemberId(int $memberId): void
    {
        $this->memberId = $memberId;
    }

    /**
     * @param string|null $content
     *
     * @return void
     */
    public function setContent(?string $content): void
    {
        $this->content = $content;
    }

    /**
     * @param int $type
     *
     * @return void
     */
    public function setType(int $type): void
    {
        $this->type = $type;
    }

    /**
     * @param string|null $publishAddr
     *
     * @return void
     */
    public function setPublishAddr(?string $publishAddr): void
    {
        $this->publishAddr = $publishAddr;
    }

    /**
     * @param string|null $publishCoordinate
     *
     * @return void
     */
    public function setPublishCoordinate(?string $publishCoordinate): void
    {
        $this->publishCoordinate = $publishCoordinate;
    }

    /**
     * @param string $publishIp
     *
     * @return void
     */
    public function setPublishIp(string $publishIp): void
    {
        $this->publishIp = $publishIp;
    }

    /**
     * @param int|null $fromDevice
     *
     * @return void
     */
    public function setFromDevice(?int $fromDevice): void
    {
        $this->fromDevice = $fromDevice;
    }

    /**
     * @param string|null $fromVersion
     *
     * @return void
     */
    public function setFromVersion(?string $fromVersion): void
    {
        $this->fromVersion = $fromVersion;
    }

    /**
     * @param int $status
     *
     * @return void
     */
    public function setStatus(int $status): void
    {
        $this->status = $status;
    }

    /**
     * @param int $isTop
     *
     * @return void
     */
    public function setIsTop(int $isTop): void
    {
        $this->isTop = $isTop;
    }

    /**
     * @param int $createdAt
     *
     * @return void
     */
    public function setCreatedAt(int $createdAt): void
    {
        $this->createdAt = $createdAt;
    }

    /**
     * @param int|null $updatedAt
     *
     * @return void
     */
    public function setUpdatedAt(?int $updatedAt): void
    {
        $this->updatedAt = $updatedAt;
    }

    /**
     * @param int $original
     *
     * @return void
     */
    public function setOriginal(int $original): void
    {
        $this->original = $original;
    }

    /**
     * @param string $category
     *
     * @return void
     */
    public function setCategory(string $category): void
    {
        $this->category = $category;
    }

    /**
     * @param int $isRobot
     *
     * @return void
     */
    public function setIsRobot(int $isRobot): void
    {
        $this->isRobot = $isRobot;
    }

    /**
     * @param string|null $title
     *
     * @return void
     */
    public function setTitle(?string $title): void
    {
        $this->title = $title;
    }

    /**
     * @param int $platform
     *
     * @return void
     */
    public function setPlatform(int $platform): void
    {
        $this->platform = $platform;
    }

    /**
     * @param int $ordid
     *
     * @return void
     */
    public function setOrdid(int $ordid): void
    {
        $this->ordid = $ordid;
    }

    /**
     * @param string|null $reviewProduct
     *
     * @return void
     */
    public function setReviewProduct(?string $reviewProduct): void
    {
        $this->reviewProduct = $reviewProduct;
    }

    /**
     * @param string|null $reviewType
     *
     * @return void
     */
    public function setReviewType(?string $reviewType): void
    {
        $this->reviewType = $reviewType;
    }

    /**
     * @param int $categoryId
     *
     * @return void
     */
    public function setCategoryId(int $categoryId): void
    {
        $this->categoryId = $categoryId;
    }

    /**
     * @param string|null $aztecImages
     *
     * @return void
     */
    public function setAztecImages(?string $aztecImages): void
    {
        $this->aztecImages = $aztecImages;
    }

    /**
     * @param int|null $isChoiceness
     *
     * @return void
     */
    public function setIsChoiceness(?int $isChoiceness): void
    {
        $this->isChoiceness = $isChoiceness;
    }

    /**
     * @param int $brandId
     *
     * @return void
     */
    public function setBrandId(int $brandId): void
    {
        $this->brandId = $brandId;
    }

    /**
     * @param int|null $topicId
     *
     * @return void
     */
    public function setTopicId(?int $topicId): void
    {
        $this->topicId = $topicId;
    }

    /**
     * @param int $isNotice
     *
     * @return void
     */
    public function setIsNotice(int $isNotice): void
    {
        $this->isNotice = $isNotice;
    }

    /**
     * @param int $isDeals
     *
     * @return void
     */
    public function setIsDeals(int $isDeals): void
    {
        $this->isDeals = $isDeals;
    }

    /**
     * @param int $shopId
     *
     * @return void
     */
    public function setShopId(int $shopId): void
    {
        $this->shopId = $shopId;
    }

    /**
     * @param int|null $shopScore
     *
     * @return void
     */
    public function setShopScore(?int $shopScore): void
    {
        $this->shopScore = $shopScore;
    }

    /**
     * @param int $isBusinessAccount
     *
     * @return void
     */
    public function setIsBusinessAccount(int $isBusinessAccount): void
    {
        $this->isBusinessAccount = $isBusinessAccount;
    }

    /**
     * @param int|null $shouldPush
     *
     * @return void
     */
    public function setShouldPush(?int $shouldPush): void
    {
        $this->shouldPush = $shouldPush;
    }

    /**
     * @param string $nationCode3
     *
     * @return void
     */
    public function setNationCode3(string $nationCode3): void
    {
        $this->nationCode3 = $nationCode3;
    }

    /**
     * @param int $isWhole
     *
     * @return void
     */
    public function setIsWhole(int $isWhole): void
    {
        $this->isWhole = $isWhole;
    }

    /**
     * @param int|null $groupId
     *
     * @return void
     */
    public function setGroupId(?int $groupId): void
    {
        $this->groupId = $groupId;
    }

    /**
     * @return int
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * @return int
     */
    public function getMemberId(): ?int
    {
        return $this->memberId;
    }

    /**
     * @return string|null
     */
    public function getContent(): ?string
    {
        return $this->content;
    }

    /**
     * @return int
     */
    public function getType(): ?int
    {
        return $this->type;
    }

    /**
     * @return string|null
     */
    public function getPublishAddr(): ?string
    {
        return $this->publishAddr;
    }

    /**
     * @return string|null
     */
    public function getPublishCoordinate(): ?string
    {
        return $this->publishCoordinate;
    }

    /**
     * @return string
     */
    public function getPublishIp(): ?string
    {
        return $this->publishIp;
    }

    /**
     * @return int|null
     */
    public function getFromDevice(): ?int
    {
        return $this->fromDevice;
    }

    /**
     * @return string|null
     */
    public function getFromVersion(): ?string
    {
        return $this->fromVersion;
    }

    /**
     * @return int
     */
    public function getStatus(): ?int
    {
        return $this->status;
    }

    /**
     * @return int
     */
    public function getIsTop(): ?int
    {
        return $this->isTop;
    }

    /**
     * @return int
     */
    public function getCreatedAt(): ?int
    {
        return $this->createdAt;
    }

    /**
     * @return int|null
     */
    public function getUpdatedAt(): ?int
    {
        return $this->updatedAt;
    }

    /**
     * @return int
     */
    public function getOriginal(): ?int
    {
        return $this->original;
    }

    /**
     * @return string
     */
    public function getCategory(): ?string
    {
        return $this->category;
    }

    /**
     * @return int
     */
    public function getIsRobot(): ?int
    {
        return $this->isRobot;
    }

    /**
     * @return string|null
     */
    public function getTitle(): ?string
    {
        return $this->title;
    }

    /**
     * @return int
     */
    public function getPlatform(): ?int
    {
        return $this->platform;
    }

    /**
     * @return int
     */
    public function getOrdid(): ?int
    {
        return $this->ordid;
    }

    /**
     * @return string|null
     */
    public function getReviewProduct(): ?string
    {
        return $this->reviewProduct;
    }

    /**
     * @return string|null
     */
    public function getReviewType(): ?string
    {
        return $this->reviewType;
    }

    /**
     * @return int
     */
    public function getCategoryId(): ?int
    {
        return $this->categoryId;
    }

    /**
     * @return string|null
     */
    public function getAztecImages(): ?string
    {
        return $this->aztecImages;
    }

    /**
     * @return int|null
     */
    public function getIsChoiceness(): ?int
    {
        return $this->isChoiceness;
    }

    /**
     * @return int
     */
    public function getBrandId(): ?int
    {
        return $this->brandId;
    }

    /**
     * @return int|null
     */
    public function getTopicId(): ?int
    {
        return $this->topicId;
    }

    /**
     * @return int
     */
    public function getIsNotice(): ?int
    {
        return $this->isNotice;
    }

    /**
     * @return int
     */
    public function getIsDeals(): ?int
    {
        return $this->isDeals;
    }

    /**
     * @return int
     */
    public function getShopId(): ?int
    {
        return $this->shopId;
    }

    /**
     * @return int|null
     */
    public function getShopScore(): ?int
    {
        return $this->shopScore;
    }

    /**
     * @return int
     */
    public function getIsBusinessAccount(): ?int
    {
        return $this->isBusinessAccount;
    }

    /**
     * @return int|null
     */
    public function getShouldPush(): ?int
    {
        return $this->shouldPush;
    }

    /**
     * @return string
     */
    public function getNationCode3(): ?string
    {
        return $this->nationCode3;
    }

    /**
     * @return int
     */
    public function getIsWhole(): ?int
    {
        return $this->isWhole;
    }

    /**
     * @return int|null
     */
    public function getGroupId(): ?int
    {
        return $this->groupId;
    }

}
